public class waysToBuyPensPencils {
//    给你一个整数 total ，表示你拥有的总钱数。同时给你两个整数 cost1 和 cost2 ，分别表示一支钢笔和一支铅笔的价格。
//    你可以花费你部分或者全部的钱，去买任意数目的两种笔。
//    请你返回购买钢笔和铅笔的 不同方案数目 。
       public static long waysToBuyPensPencils(int total, int cost1, int cost2) {
           //代表钢笔数从0开始 int i =0; i 小于最大钢笔数
            long ans = 0;
            int count1 = total / cost1;//求出最多能买几只钢笔
            for (int i = 0; i <= count1; i++) {
                int rest = total - cost1 * i;//每一轮买完钢笔剩余的钱
                int count2 = rest / cost2 + 1;//剩余的钱能买的铅笔数即为方案数，累加(注意cost2为零时默认算一种+1避免算术异常)
                ans += count2;
       }
       return ans;
    }

    public static void main(String[] args) {
        long ret=waysToBuyPensPencils(20, 10, 5);
        System.out.println(ret);
    }

}
